home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / online / source / c / compilers / GCC-2.3.3r12.sit.hqx / GCC-2.3.3r12 / Read Me < prev    next >
Text File  |  1993-11-19  |  8KB  |  103 lines

  1. THIS IS PRE-RELEASE 12 OF MPW GCC 2.3.3
  2.  
  3. If you have never used MPW GCC before then this distribution will be very hard to get started with. You might want to wait for a correctly-working version.
  4.  
  5. Presently gcc will only compile a limited subset of programs correctly (we don't know exactly which ones, that's why this is not a real release!)
  6.  
  7. For those who are interested this port has been done by Brent Pease (with lots of help from Stan). I have changed a lot of things from the original port like the install procedure and file organization.
  8.  
  9. *************************************************************
  10. This is the MPW™ port of the GNU C compiler GCC.
  11.  
  12. GCC is a retargetable and highly optimizing implementation of ANSI C.  It was written by Richard Stallman and a cast of thousands (well, scores) around the world.  Although GCC was originally designed to be a Unix-based compiler, this version has been adapted to be a drop-in replacement for the standard MPW C compiler.  This distribution includes both C and C++ compilers.
  13.  
  14. To use MPW GCC, you will need a 68020/030+68881 Macintosh™, MPW 3.2 or 3.3, MPW C 3.2 , and MPW Asm 3.2.  Although you don't need the MPW C compiler proper, the MPW C interfaces and library files are required.  To run the gCPlus script, you will also need C++ 3.1.  Although GCC can run in 2Mb or less, we recommend 4Mb RAM.  Minimum additional disk space is 600K or so, but there will need to be some additional space for intermediate files.  It would be ludicrous to run GCC from floppies.
  15.  
  16. For details of installing GCC into your environment, see the Release Notes.  The Notes also describe how to use GCC once it's installed, and summarize the differences between MPW C and MPW GCC.
  17.  
  18. If you need help beyond what is provided in the Documents folder, we have established some e-mail addresses that will forward to support people:
  19.  
  20.     AppleLink:    MPWGCC
  21.     Internet:    mpwgcc@apple.com
  22.  
  23. If neither of these are available to you, you may try to contact me directly.  I can be reached at
  24.  
  25.         Stan Shebs
  26.     Cygnus Support
  27.     1937 Landings Drive
  28.     Mountain View CA 95117
  29.  
  30. and will be happy to help out where possible, and as time permits.
  31.  
  32. Finally, I would like to thank Brent Pease, Wayne Loofbourrow, Mark Hennecke, Jim Murphy, Scott Douglass, Konstantin Othmer, Paul Snively, Larry Rosenstein and the other Appleites who have helped out with MPW GCC in one way or another, also Waldemar Horwat for finding lots of bugs.  Herb Derby came up the the implementation of parameter pragmas, while Keith Rollin contributed the branch-shortening hack.  Jeff Holcomb deserves a special thanx for seemingly interminable testing and bug tracing, as well as designing the Commando interfaces.   His efforts have been invaluable.
  33.  
  34.                                                     Stan Shebs
  35.                                                     Cygnus Support
  36.  
  37. NOTE
  38. This is not an official product of Apple Computer!  MPW GCC was originally developed to support Advanced Technology Group research efforts, and was deemed sufficiently useful to be made available to a wider audience.  If you use this compiler, you should be prepared to support it yourself (full sources are available).  Here is the proper legal wording, also see the file ":Documents:COPYING" for additional legalese:
  39.  
  40. Disclaimer of Warranty on Software.  This software program and related documentation are provided "AS IS" and without warranty of any kind, and APPLE EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR PARTICULAR PURPOSE.  APPLE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THIS SOFTWARE PROGRAM WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THIS SOFTWARE PROGRAM WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THIS SOFTWARE PROGRAM WILL BE CORRECTED.  FURTHERMORE, APPLE DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR RESULTS OF THE USE OF THE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE.  NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR ANY APPLE REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. SHOULD THIS SOFTWARE PROGRAM PROVE DEFECTIVE YOU, AND NOT APPLE, ASSUME THE ENTIRE COST OF ALL NECESSARY REPAIR OR CORRECTION.  SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU.
  41.  
  42. Limitation of Liability.  UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL APPLE BE LIABLE FOR ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES THAT RESULT FROM THE USE OR INABILITY TO USE THIS SOFTWARE PROGRAM OR RELATED DOCUMENTATION, EVEN IF APPLE OR AN APPLE REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITIES OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU.
  43.  
  44.  
  45. Some Statistics Comparing MPW C To MPW GCC
  46.  
  47. (These are thoroughly out-of-date; see the versions mentioned below.)
  48.  
  49. This is not a formal benchmark study, but a brief summary of what we've observed in working with MPW C and GCC.
  50.  
  51. Experimental Setup
  52.  
  53. The numbers are all based on a Mac IIci running Multifinder 6.0.4/5, with a Daystar cache card, external video, 8M RAM, and the internal 80M hard disk.  No virtual memory, and the RAM cache is set at 96K.  MPW partition is 3000K, with a 128K stack.
  54.  
  55. The C compilers are out-of-the-box MPW 3.1 C and MPW GCC 1.37.1r5.
  56.  
  57. Compiler Size
  58.  
  59. MPW C is 338K, while GCC's cpp and cc1 together are 604K (self-compiled).
  60.  
  61. Compiler Speed
  62.  
  63. GCC is much slower to compile than MPW C, partly because it runs three separate programs, and partly because it does more optimization.   Typical GCC compilation times are 3-4 times longer than MPW C.  For instance, MPW C takes 16 min to compile and link all of cpp and cc1, while the MPW-compiled GCC takes 58 min, and the self-compiled GCC takes 48 min.
  64.  
  65. Code Size
  66.  
  67. GCC output code is from 5% to 25% smaller than for MPW, with an average of 10%.  For instance, self-compiled cc1 is 13% smaller than MPW C-compiled cc1, while cpp is 9% smaller.
  68.  
  69. Code Speed
  70.  
  71. GCC output code is from 5% to 32% faster than MPW code, with an average of 10%. Self-compilation is 18% faster with a self-compiled GCC than with an MPW-compiled GCC.  Dhrystone is 25% faster, going up to 32% if C versions of the string functions are used (in fact, dhrystone with C-coded string functions is faster than with the library functions, for both MPW C and GCC).
  72.  
  73.  
  74. Some Questions and Answers About the GNU Copyleft
  75.  
  76.  
  77. You may be aware that GNU C is under an unusual form of copyright restriction, often called a "copyleft".  The details are somewhat confusing, and there is a lot of hype and hyperbole surrounding copyleft and how it might pertain to MPW™ GCC.
  78.  
  79. NOTE: THE FOLLOWING IS NOT THE LEGAL OPINION OF APPLE OR ANYBODY ELSE!
  80.  
  81. Simply put, the copyleft is designed to ensure that a freely available program remains freely available.  Putting a program in the public domain does NOT prevent an unscrupulous person from slapping a copyright on and attempting to claim ownership (believe it or not, this has really happened!).  To counter this, the copyleft says that you may freely use, modify, and redistribute a copylefted program, but that you must make available all the source code, and may not restrict the recipients from using, modifying, and redistributing what you give them.
  82.  
  83. Q: If I modify GCC, do I then have to give my changes away?
  84.  
  85. A: No.  The copyleft does not apply to anything you might do in the privacy of your own machine.
  86.  
  87. Q: Do programs compiled by GCC fall under the copyleft?
  88.  
  89. A: No.  GCC is merely a translator.  However, linking with GNU libraries would cause a program to be copylefted.  At present, MPW GCC uses only MPW libraries and include files, which are unaffected by the copyleft.
  90.  
  91. Q: What about Bison output?
  92.  
  93. A: Since Bison output always includes the copylefted Bison parser skeletons (bison.simple or bison.hairy), Bison-generated parsers ARE copylefted.
  94.  
  95. Q: If somebody just wants the executable, can I give it to them without sources?
  96.  
  97. A: Yes, as long as you include some info about how they can get the sources when desired; a file server location or mail address is good enough.
  98.  
  99. Q: Who actually holds the legal copyright on GCC?
  100.  
  101. A: The Free Software Foundation has the copyright on the bulk of GCC, while Apple holds the copyright on those parts of GCC that were written especially for the Mac.
  102.  
  103.